package com.sky.controller.user;

import com.sky.entity.Category;
import com.sky.result.Result;
import com.sky.service.CategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController("userCategoryController")
@RequestMapping("/user/category")
@Api(tags = "C端-分类接口")
public class CategoryController {
    @Autowired
    CategoryService categoryService;

    /**
     * 根据类型查询类别列表
     *
     * 此方法通过调用categoryService的query方法来查询符合特定类型的类别列表如果传入的type参数不为空，
     * 则查询结果会根据type进行筛选最终将查询到的列表作为成功的结果返回
     *
     * @param type 类别的类型，用于筛选查询结果如果为null，则不进行筛选
     * @return 返回一个包含类别列表的成功结果对象
     */
    @GetMapping("/list")
    @ApiOperation("根据类型查询分类列表")
    public Result list(Integer type){
        // 查询符合特定类型的类别列表，如果type为null，则返回所有类型的类别列表
        List<Category> list = categoryService.query()
                .eq(type != null, "type", type)
                .list();

        // 返回包含查询结果的成功结果对象
        return Result.success(list);
    }

}
